home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
h
/
highspeedpascalv2.0b.dms
/
highspeedpascalv2.0b.adf
/
Demos
/
UtilUnit.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-12-31
|
2KB
|
116 lines
{$D+}
UNIT UtilUnit;
{ Filename: UtilUnit.pas }
{ Coder : Jacob V. Pedersen }
{ Coded : 06-02-1991 }
{ Purpose : Example }
{ This unit contains some routines that might come in handy. }
{
The Exist function shows how to use Assign as in Turbo Pascal.
}
INTERFACE
Uses DOS,Crt;
Const
Version = 1.1;
Var
StrIn : Text; { Read }
StrOut : Text; { Write }
StrData : String; { IO buffer for StrIn and StrOut }
Function Int2Str(Num : Integer) : String;
Function Exist(Filename : PathStr) : Boolean;
Procedure WaitToGo(KeyVal : Byte);
Function NoSpaces(S : String) : String;
Function UpperStr(S : String) : String;
Procedure ClearStrInOut;
IMPLEMENTATION
Function Exist(Filename : PathStr) : Boolean;
Var
Dummy : File;
IOres : Integer;
Begin
Assign(Dummy,FileName);
{$I-}
Reset(Dummy);
{$I+}
IOres := IOresult;
If (IOres = 0) then
Close(Dummy);
Exist := IOres = 0;
End;
Function Int2Str(Num : Integer) : String;
Var
Res : String;
Begin
Str(Num, Res); Int2Str := Res;
End;
Procedure WaitToGo(KeyVal : Byte);
Begin
Repeat Until (ReadKey = Chr(KeyVal));
End;
Function NoSpaces(S : String) : String;
Begin
While (Pos(#32,S) > 0) Do
Delete(S,Pos(#32,S),1);
NoSpaces := S;
End;
Function UpperStr(S : String) : String;
Var
X : Byte;
Begin
For X := 1 To Length(S) Do
S[X] := UpCase(S[X]);
UpperStr := S;
End;
Procedure ClearStrInOut;
Begin
While Not(Eof(StrIn)) Do
ReadLn(StrIn);
End;
Procedure StrInOutHandler(Var F : TextRec);
Var
Tmp : String;
Begin
With F Do
Begin
If fInpFlag then
Begin { read }
Move(StrData[1],fBufPtr^[0],Length(StrData));
fBufEnd := Length(StrData);
StrData := '';
End
Else
Begin { write }
Move(fBufPtr^[0],Tmp[1],fBufPos);
Tmp[0] := Chr(fBufPos);
Insert(Tmp,StrData,Length(StrData)+1);
End;
fBufPos := 0;
End;
End;
Var
DevBuf : TDevBuf;
BEGIN
Device('StrInOut',@StrInOutHandler,DevBuf);
Assign(StrIn,'StrInOut');
Reset(StrIn);
Assign(StrOut,'StrInOut');
Rewrite(StrOut);
END.